home *** CD-ROM | disk | FTP | other *** search
- package org.flintparticles.initializers
- {
- import org.flintparticles.emitters.Emitter;
- import org.flintparticles.particles.Particle;
- import org.flintparticles.utils.construct;
-
- public class ImageClasses extends Initializer
- {
-
-
- private var _parameters:Array;
-
- private var _ratios:Array;
-
- private var _images:Array;
-
- public function ImageClasses(param1:Array, param2:Array = null, param3:Array = null)
- {
- var _loc4_:Array = null;
- var _loc5_:int = 0;
- var _loc6_:int = 0;
- var _loc7_:Number = NaN;
- super();
- _images = param1;
- _ratios = new Array();
- _loc4_ = new Array();
- _loc6_ = int(param1.length);
- if(param2 == null)
- {
- _parameters = new Array();
- _loc5_ = 0;
- while(_loc5_ < _loc6_)
- {
- _parameters.push(_loc4_);
- _loc5_++;
- }
- }
- else
- {
- _parameters = param2;
- _loc5_ = int(_parameters.length);
- while(_loc5_ < _loc6_)
- {
- _parameters.push(_loc4_);
- _loc5_++;
- }
- }
- if(param3 != null && param3.length == _loc6_)
- {
- _loc7_ = 0;
- _loc5_ = 0;
- while(_loc5_ < _loc6_)
- {
- _loc7_ += param3[_loc5_];
- _loc5_++;
- }
- _loc5_ = 0;
- while(_loc5_ < _loc6_)
- {
- _ratios.push(param3[_loc5_] / _loc7_);
- _loc5_++;
- }
- }
- else
- {
- _loc5_ = 0;
- while(_loc5_ < _loc6_)
- {
- _ratios.push((_loc5_ + 1) / _loc6_);
- _loc5_++;
- }
- }
- }
-
- override public function initialize(param1:Emitter, param2:Particle) : void
- {
- var _loc3_:Number = NaN;
- var _loc4_:uint = 0;
- var _loc5_:uint = 0;
- _loc3_ = Math.random();
- _loc4_ = _images.length;
- _loc5_ = 0;
- while(_loc5_ < _loc4_)
- {
- if(_ratios[_loc5_] >= _loc3_)
- {
- param2.image = construct(_images[_loc5_],_parameters[_loc5_]);
- return;
- }
- _loc5_++;
- }
- param2.image = construct(_images[_loc4_ - 1],_parameters[_loc4_ - 1]);
- }
- }
- }
-